תיכנון פאנל ניהול
מהי הדרך הכי יעילה לתכנן פאנל ניהול ?
נגיד לערוך קישורים באתר, ניהול תמונות, עורך טקסט שיערוך מאמרים וכדומה.
בעיקרון עשיתי כבר את הפאנל, יש לי התחברות שזה שם משתמש וסיסמא שאני קובע בקובץ הקונפיג שלי ולאחר ההתחברות אני מועבר לעוד דף שמשם אני שולט על כל האתר שלי,מה הדרך הכי טובה לאבטח דבר כזה מפני אנשים אחרים?
10 תשובות
קודם כל להצפין סיסמה ולשמור אותה במקום מאובטח.
להשתמש בסשן שיזכור אותה ולדאוג שהסשן יהיה תקף רק לדומיין של האתר.
לדאוג שבכול עמוד באתר זה בודק עם המשתמש באמת מחובר כדי שלא יכנסו לעמוד הזה.
(זה כולל גם עמודים בילתי ניראים(של טפסים) אם יש לך כאלו).
איך אני דואג שהסשן יהיה תקף רק לדומיין של האתר ?
השם של הסשן והתוכן שלו הם רנדומליים (אותיות ומספרים) שמשתנים כל התחברות.
בכל עמוד זה בודק :)
עם זה פאנל ניהול אז למה לא?
למערכת משתמשים אני משתמש בדרך כלל בקוקיז.
לדברים שרק מנהלים אמורים להיות שמה בסשן.
אין שום בעיית אבטחה בשימוש בעוגיות בהקשר של סיסמה, כל עוד יודעים איך לעשות את זה. אני אישית מוצא את זה לגמרי לא נוח להתחבר כל חצי שעה מחדש לחשבון שלי, גם אם היה מדובר בחשבון מנהל.
אני מעדיף שלניהול יהיו חיבורים קצרים כדי לוודא שאם אחד המנהלים שכח את המחשב פתוח ממחשב ציבורי זה לפחות ינתק אותו.
אני גם מעדיף חיבורים קצרים, בכל מקרה איך אני יכול להגביל סשן לדומיין אחד כמו שאמרת ?
וגם לדוגמא אני רוצה לערוך את הפרסומות באתר (יש הרבה עמודים ותוכן ככה שיש הרבה פרסומות), בעצם בעצם שומר את כל הקודים של הפרסומות במסד עם איידי לכל פרסומת, ובעריכה אני מעדכן את זה לפי האיידי. עכשיו אני לא יכול לשחק עם htmlspecialchars או כל דבר אחר, זה יכתוב לי את הקוד במקום להריץ אותו ולהציג את הפרסומת, לכן אני לא משתמש בזה וזה דיי "פריץ". אין דרך למנוע את זה נכון ?
לא הבנתי למה שהסשן לא יהיה מוגבל לדומיין אחד. אם כבר, אז השאלה צריכה להיות איך לתת סשן אחד לכמה דומיינים. מובן שיכול להיות שאני פשוט לא מבין בזה, אבל מילא... :-)
אז בכל מקרה, למה שמנהל יתחבר ממחשב ציבורי וישכח להתנתק? חוץ מזה, נניח שכן. אתה תמיד יכול לכתוב סקריפט PHP או JS שאם המנהל לא עשה שום פעולה במשך זמן מוגדר, הוא יתנתק אוטומטית. גם אז זה לא יהיה הכי נוח שבעולם, אז אולי יהיה כדאי להוסיף אחרי ההתחברות "אל תנתק אותי ממחשב זה", כמו "זכור מחשב זה" של פייסבוק או של גוגל. למעשה, זו הדרך הנכונה לעשות זאת מבחינת נוחות הגולש, ונוחות הגולש פחות או יותר גוברת על כל דבר (זה לא בדיוק נכון, אבל לפחות במקרה הזה, שזה לא פוגע בשום דבר.)
אתם גם לא יכולים להגיד שאתם מעדיפים חיבורים קצרים, כי ללקוח שלכם לא אכפת מה אתם מעדיפים, אכפת לו מה הוא מעדיף, וזה די ברור שהוא לא ירצה להתחבר מחדש כל חצי שעה דקות.
לא הבנתי את השאלה השנייה שלך.
עשיתי לעצמי בפאנל אפשרות לערוך את הפרסומות באתר, ז"א שזה קוד ששמור במסד ובדף הראשי אני שולף את הקוד והוא מוצג כפרסומת, בפאנל ניהול שלי מוצג הקוד ושם אני עורך וזה מתעדכן בעמוד הראשי.
הפרסומת היא קוד, שלא מכיל תווים נחמדים כמו גרשים, זה נכנס למסד ונשלף ממנו. איזה קטע של אבטחה אני יכול להכניס פה ?
mysql_real_escape_string
פונקציה הזאת כבר לא קיימת בגרסה החדשה
אבל זה בעצן העיקרון.
לכל חיבור למסד יש סוג כזה של "אבטחה" מפני הזרקת SQL